package com.jlpay.open.jlpay.sdk.java.model.ledger.request;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.jlpay.open.jlpay.sdk.java.model.ledger.LedgerBaseRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 *
 * @author dengwenning
 * @since 2024/8/30
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class MerchRevSettleUpdateRequest extends LedgerBaseRequest {

    /**
     * 商户号
     * 嘉联分配的商户号，
     * 示例值：849440358120001
     */
    private String mchId;

    /**
     * 结算银行卡号
     * 银行卡号，
     * 示例值：6226****1663
     */
    private String bankCardNo;

    /**
     * 结算账户名
     * 银行卡户名，
     * 示例值：张三
     */
    private String bankCardName;

    /**
     * 收款账户总行银行代码
     * 开户银行总行编号，非必填，可通过银行总行信息接口查询，
     * 示例值：308
     */
    private String bankCode;

    /**
     * 收款账户总行银行名
     * 开户总行名称，非必填，可通过银行总行信息接口查询，
     * 示例值：中国建设银行股份有限公司
     */
    private String bankName;

    /**
     * 收款账户分支行联行号
     * 开户分支行联行号（对公结算卡必填），可通过基础信息-分支行信息接口查询，
     * 示例值：105584000370
     */
    private String bankBranchCode;

    /**
     * 收款账户分支行名称
     * 开户分支行名称，非必填，可通过基础信息-分支行信息接口查询，
     * 示例值：中国建设银行股份有限公司深圳罗湖支行
     */
    private String bankBranchName;

    @Override
    public String path() {
        return "/open/ledger/merch/rev/settle/update";
    }

}
